package pl.edu.amu.wmi.kino.visualjavafx.model.animation.interpolators;

import java.beans.PropertyChangeListener;


// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
// #[regen=yes,id=DCE.25A85023-E178-4464-63A5-51C84C8F77B8]
// </editor-fold> 
public interface Interpolation {

    // Code block for changeListeners support start
    public void addPropertyChangeListener(PropertyChangeListener listener);
    public void removePropertyChangeListener(PropertyChangeListener listener);
    // Code block for changeListeners support end

    /**
     *  <html>
     *    <head>
     *  
     *    </head>
     *    <body>
     *      <p style="margin-top: 0">
     *        returns value between startVal and endVal after completing howMuch of it 
     *        - if howMuch is greater than 1 - it treats it as if it would be 1.
     *      </p>
     *    </body>
     *  </html>
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.818430C2-FAA2-1F01-C5A8-851EFBB9558E]
    // </editor-fold> 
    public double getValue (double howMuch, double startVal, double endVal);

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.E0F11CA9-8FB7-4975-2F1F-CFCF819B8D8B]
    // </editor-fold> 
    public double getValueAtTime (double howMuch, double Time, double startVal, double endVal);

    public String getName();

}

